Giảm chiều là gì? Các bài báo nghiên cứu khoa học liên quan
Giảm chiều là quá trình biến đổi dữ liệu nhiều biến về không gian ít chiều hơn nhưng vẫn giữ được thông tin quan trọng và cấu trúc nội tại của dữ liệu. Kỹ thuật này giúp giảm chi phí tính toán, tránh quá khớp và hỗ trợ trực quan hóa, thông qua các phương pháp tuyến tính như PCA hoặc phi tuyến như t-SNE, UMAP.
Giới thiệu về giảm chiều
Giảm chiều (Dimensionality Reduction) là một nhóm các kỹ thuật nhằm biến đổi tập dữ liệu có nhiều biến đầu vào (feature) thành một phiên bản gọn hơn với ít chiều hơn, nhưng vẫn giữ được các thông tin quan trọng và cấu trúc nội tại của dữ liệu. Đây là bước tiền xử lý phổ biến trong nhiều ứng dụng khoa học dữ liệu, đặc biệt là khi dữ liệu đầu vào có hàng trăm hoặc hàng ngàn chiều, như trong phân tích ảnh, văn bản, hoặc dữ liệu gen.
Khi số chiều của dữ liệu tăng cao, nhiều thuật toán học máy bắt đầu gặp khó khăn do không gian mẫu trở nên thưa thớt và các khoảng cách giữa điểm dữ liệu mất đi ý nghĩa. Hiện tượng này được gọi là lời nguyền chiều (curse of dimensionality). Giảm chiều giúp hạn chế vấn đề này bằng cách tìm ra các chiều quan trọng nhất, thường là các tổ hợp tuyến tính hoặc phi tuyến của các biến gốc.
Lý do cần giảm chiều
Có nhiều lý do thực tiễn và lý thuyết khiến việc giảm chiều trở nên quan trọng trong xử lý dữ liệu hiện đại. Dưới đây là các lợi ích tiêu biểu:
- Giảm chi phí tính toán: Ít chiều hơn đồng nghĩa với ít thông tin hơn cần xử lý trong mỗi bước huấn luyện mô hình.
- Tránh hiện tượng overfitting: Với dữ liệu nhiều chiều, mô hình có thể học quá sát vào nhiễu, làm giảm khả năng tổng quát.
- Trực quan hóa dữ liệu: Việc biểu diễn dữ liệu trong 2D hoặc 3D trở nên khả thi khi số chiều được giảm.
- Khám phá cấu trúc ngầm: Giảm chiều giúp phát hiện các mẫu tiềm ẩn trong dữ liệu.
Ngoài ra, khi làm việc với dữ liệu thực tế, nhiều biến trong tập dữ liệu có thể mang thông tin trùng lặp, không liên quan hoặc chứa nhiễu. Giảm chiều giúp loại bỏ những thành phần dư thừa này, tạo ra không gian đặc trưng (feature space) cô đọng và có ý nghĩa hơn.
Phân loại các phương pháp giảm chiều
Giảm chiều không chỉ là một kỹ thuật đơn lẻ, mà là một lớp phương pháp với nhiều cách tiếp cận khác nhau. Có thể phân loại các phương pháp này theo cách chúng biến đổi dữ liệu:
- Phép chiếu tuyến tính (Linear Projection): Biến dữ liệu sang một không gian mới bằng tổ hợp tuyến tính của các chiều gốc, ví dụ như PCA.
- Phép biến đổi phi tuyến (Non-linear Transformation): Bảo toàn cấu trúc cục bộ hoặc toàn cục bằng cách mô hình hóa các đa tạp phi tuyến, ví dụ như t-SNE, UMAP.
Một cách phân loại khác là dựa trên mục tiêu học:
- Phương pháp không giám sát (unsupervised): Chỉ sử dụng đặc trưng đầu vào, không cần nhãn. Ví dụ: PCA, t-SNE.
- Phương pháp có giám sát (supervised): Sử dụng thông tin nhãn để tối ưu không gian chiếu. Ví dụ: Linear Discriminant Analysis (LDA).
Phân tích thành phần chính (PCA)
Phân tích thành phần chính (Principal Component Analysis - PCA) là một trong những kỹ thuật giảm chiều cổ điển và phổ biến nhất. PCA hoạt động bằng cách tìm ra các trục tọa độ mới (gọi là thành phần chính) sao cho dữ liệu khi được chiếu lên các trục này sẽ có phương sai lớn nhất có thể.
Giả sử là ma trận dữ liệu đã được chuẩn hóa, PCA sẽ tính ma trận hiệp phương sai , sau đó giải bài toán trị riêng để tìm các vectơ riêng và trị riêng tương ứng. Các thành phần chính chính là những vectơ riêng tương ứng với trị riêng lớn nhất.
Biểu thức tối ưu hóa có dạng: trong đó là ma trận chứa các thành phần chính cần tìm, và là ma trận hiệp phương sai.
Kết quả của PCA có thể được biểu diễn dưới dạng bảng:
Thành phần chính | Tỷ lệ phương sai giải thích | Tổ hợp tuyến tính của đặc trưng gốc |
---|---|---|
PC1 | 45% | 0.4 * x₁ + 0.6 * x₂ - 0.5 * x₃ + ... |
PC2 | 25% | -0.3 * x₁ + 0.7 * x₂ + 0.2 * x₃ + ... |
PC3 | 10% | ... |
Các thành phần chính đầu tiên thường giữ phần lớn phương sai của dữ liệu, nên chỉ cần chọn vài thành phần đầu tiên là có thể thay thế toàn bộ tập đặc trưng gốc với độ mất mát tối thiểu. PCA được triển khai hiệu quả trong nhiều thư viện như scikit-learn.
t-SNE và UMAP
t-SNE (t-distributed Stochastic Neighbor Embedding) là một kỹ thuật giảm chiều phi tuyến được phát triển nhằm tối ưu hóa việc trực quan hóa dữ liệu trong không gian hai hoặc ba chiều. Phương pháp này hoạt động bằng cách bảo toàn quan hệ lân cận giữa các điểm dữ liệu. Nói cách khác, nếu hai điểm ở gần nhau trong không gian gốc, t-SNE sẽ cố gắng giữ chúng gần nhau trong không gian mới.
Về mặt kỹ thuật, t-SNE tính toán xác suất tương đồng giữa các điểm trong không gian cao chiều và không gian mục tiêu, sau đó cực tiểu hóa sự khác biệt giữa hai phân bố này bằng phương pháp Kullback–Leibler divergence: Trong đó và là xác suất hai điểm và nằm gần nhau trong không gian gốc và không gian mới tương ứng.
UMAP (Uniform Manifold Approximation and Projection) là một phương pháp hiện đại hơn, ra đời sau t-SNE, và được xem là một sự thay thế hiệu quả trong nhiều trường hợp. UMAP xây dựng một đồ thị biểu diễn cấu trúc cục bộ của dữ liệu và tối ưu phép chiếu sao cho cấu trúc này được bảo toàn trong không gian thấp chiều. So với t-SNE, UMAP có lợi thế về tốc độ, khả năng mở rộng với dữ liệu lớn, và giữ được cấu trúc toàn cục tốt hơn.
So sánh giữa t-SNE và UMAP:
Tiêu chí | t-SNE | UMAP |
---|---|---|
Loại kỹ thuật | Phi tuyến | Phi tuyến |
Tốc độ xử lý | Chậm | Nhanh |
Khả năng giữ cấu trúc toàn cục | Hạn chế | Tốt |
Khả năng tái sử dụng mô hình | Không | Có thể |
Tham khảo chi tiết:
So sánh các phương pháp giảm chiều
Việc lựa chọn phương pháp giảm chiều phụ thuộc vào mục tiêu sử dụng và đặc điểm của dữ liệu. Không có phương pháp nào là "tốt nhất" trong mọi hoàn cảnh, thay vào đó là sự đánh đổi giữa độ chính xác, khả năng trực quan, tốc độ và khả năng giải thích.
Bảng so sánh tóm tắt các phương pháp tiêu biểu:
Phương pháp | Loại | Khả năng trực quan | Tốc độ xử lý | Khả năng giải thích |
---|---|---|---|---|
PCA | Tuyến tính | Trung bình | Cao | Tốt |
t-SNE | Phi tuyến | Rất tốt | Chậm | Thấp |
UMAP | Phi tuyến | Rất tốt | Cao | Trung bình |
Nếu mục tiêu là trực quan hóa dữ liệu có cấu trúc phức tạp, UMAP hoặc t-SNE là lựa chọn phù hợp. Nếu mục tiêu là giảm chiều để huấn luyện mô hình với khả năng giải thích tốt, PCA là lựa chọn ưu tiên.
Giảm chiều và học sâu
Trong học sâu (deep learning), việc giảm chiều diễn ra tự động thông qua các tầng ẩn trong mạng neural. Mỗi tầng xử lý dữ liệu đầu vào bằng cách trích xuất đặc trưng và loại bỏ những thông tin dư thừa. Điều này tương tự như một quá trình giảm chiều nội tại.
Đặc biệt, autoencoder là một kiến trúc học sâu chuyên biệt cho giảm chiều. Một autoencoder gồm hai phần chính:
- Encoder: chuyển dữ liệu từ không gian gốc sang không gian ẩn có số chiều nhỏ hơn.
- Decoder: tái tạo dữ liệu từ không gian ẩn về không gian gốc.
Biểu thức mô hình hóa: trong đó là biểu diễn nén của dữ liệu .
Autoencoder có thể được huấn luyện để tối thiểu hóa lỗi tái tạo: Khi huấn luyện xong, phần encoder có thể được sử dụng như một hàm giảm chiều cho dữ liệu mới.
Ứng dụng thực tế
Giảm chiều là một kỹ thuật then chốt trong nhiều lĩnh vực ứng dụng hiện đại:
- Y sinh học: Phân tích biểu hiện gene, dữ liệu tế bào đơn (single-cell RNA-seq).
- Thị giác máy tính: Trích xuất đặc trưng ảnh, giảm chiều ảnh đầu vào.
- Xử lý ngôn ngữ tự nhiên: Giảm chiều vector từ (word embedding) để phân loại văn bản, phân cụm chủ đề.
- Hệ thống khuyến nghị: Giảm chiều ma trận người-dữ liệu để phát hiện sở thích tiềm ẩn.
Giảm chiều cũng được sử dụng trong phát hiện bất thường (anomaly detection), nơi dữ liệu bất thường thường nằm ngoài phân bố chính của dữ liệu khi chiếu xuống không gian thấp chiều.
Hạn chế và lưu ý khi sử dụng
Mặc dù mang lại nhiều lợi ích, giảm chiều cũng có những rủi ro và hạn chế nhất định:
- Mất thông tin: Một phần dữ liệu bị loại bỏ vĩnh viễn, có thể ảnh hưởng đến mô hình nếu thông tin quan trọng bị loại nhầm.
- Khó giải thích: Một số phương pháp như t-SNE và UMAP không cung cấp ý nghĩa rõ ràng cho chiều mới, khiến việc diễn giải trở nên khó khăn.
- Lựa chọn số chiều: Việc chọn số chiều mục tiêu (ví dụ: chọn bao nhiêu thành phần trong PCA) có thể mang tính cảm tính nếu không có tiêu chí định lượng.
Do đó, cần thận trọng trong việc chọn phương pháp giảm chiều, và nên đánh giá ảnh hưởng của nó đến hiệu suất mô hình và khả năng giải thích kết quả.
Tài liệu tham khảo
- Jolliffe, I. T., & Cadima, J. (2016). Principal component analysis: a review and recent developments. Philosophical Transactions of the Royal Society A, 374(2065), 20150202. https://doi.org/10.1098/rsta.2015.0202
- van der Maaten, L., & Hinton, G. (2008). Visualizing data using t-SNE. Journal of Machine Learning Research, 9(Nov), 2579-2605.
- McInnes, L., Healy, J., & Melville, J. (2018). UMAP: Uniform Manifold Approximation and Projection for Dimension Reduction. arXiv:1802.03426
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. [Chapter 14 - Autoencoders]
- Scikit-learn Documentation: Decomposition
- UMAP Official Documentation
Các bài báo, nghiên cứu, công bố khoa học về chủ đề giảm chiều:
- 1
- 2
- 3
- 4
- 5
- 6
- 8